package com.future
class Task {
  String taskSerialNumber//任务编码 task_091010
  String taskName //task名称
  String taskInfo//task信息
  int taskPlanCycle//task计划周期 --计算得到
  long taskFactCycle//实际周期 --计算得到
  Date taskPlanBeginDate//task开始日期
  Date taskPlanCompleteDate//task完成日期
  Double taskCompleteRate //完成率   --计算得到
  String taskThink//task完成后的想法
  Task taskRelationship //task关联task
  String taskUpgrade//task技巧，或是进步
  byte[] taskPicture//上传task首页图片
  byte[] taskUML//上传UML图例
  Date lastUpdate //更新时间
  Date dateCreated //创建时间
  String designed //设计目的
  String functionList//功能列表
  String personalEvaluation//个人评价
  String googleCalendar//googleCalendar代码
  User user
  static hasMany=[othersEvaluation:Evaluation,taskUpdate:TaskUpdate]//他人评价
  int flag //是否完成 0表示未完成，1表示完成
  static mapping = {
    columns {
      taskPicture default:null
      taskUML default:null
      taskThink type: 'text'
      taskUpgrade type: 'text'
      taskInfo type: 'text'
      designed type:'text'
      functionList type:'text'
      personalEvaluation type:'text'
      googleCalendar type:'text'
      flag default: 0
    }
  }
  static constraints = {
    taskSerialNumber(blank: false, unique: true)
    taskName(blank: false)
    taskInfo(blank: false)
    taskPlanCycle(blank: false)
    taskFactCycle(blank: true, nullable: true)
    taskPlanBeginDate(blank: false,nullable:true)
    taskPlanCompleteDate(blank: true, nullable: true)
    taskCompleteRate(blank: true, nullable: true)
    taskThink(blank: true, nullable: true)
    taskRelationship(blank: true, nullable: true)
    taskUpgrade(blank: true, nullable: true)
    lastUpdate(nullable:true)
    functionList(nullable:true)
    designed(nullable:true)
    personalEvaluation(nullable:true)
    taskPicture(nullable:true,maxSize:10240)
    taskUML(nullable:true,maxSize:10240)
    googleCalendar(nullable:true)
  }
}
